package com.roadjava.rbac.service;
//服务层接口，定义了推荐系统的核心业务逻辑，如获取所有推荐、保存推荐、根据条件查询推荐等。
import com.roadjava.rbac.bean.Recommendation;
import com.roadjava.rbac.bean.dto.RecommendationDTO;
import com.roadjava.rbac.bean.vo.RecommendationVO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Optional;

public interface RecommendationService {
    List<Recommendation> getAllRecommendations(); // 返回类型为 List<Recommendation>
    Recommendation saveRecommendation(Recommendation recommendation);
    Page<RecommendationVO> getRecommendations(Integer userId, Long resourceID, String userBehavior, Pageable pageable);
    Optional<RecommendationVO> getRecommendationById(Long id);
    RecommendationVO saveRecommendation(RecommendationDTO recommendationDTO);
    Optional<RecommendationVO> updateRecommendation(Long id, RecommendationDTO recommendationDTO);
    boolean deleteRecommendation(Long id);
}